package com.arron.algorithm.huawei.中等;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class 称砝码 {


    /**
     *
     * @param w 代表有哪些重量的砝码
     * @param nums 每种砝码对应的数量
     * @return 返回这些砝码组合成的重量数有哪些
     */
    public int getKinds(int[] w,int[] nums){

        Set<Integer> resSet = new HashSet<>();

        resSet.add(0);

        for (int i = 0; i < w.length; i++) {

            for (int j = 1; j <= nums[i] ; j++) {

                List<Integer> list = new ArrayList<>(resSet);

                for (Integer sum : list) {
                    resSet.add(sum+w[i]);
                }

            }

        }

        return resSet.size();
    }



}
